x86: Polarity-switch method only effective in non-directed EOI case.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 26 Jan 2010 15:54:09 +0000 (15:54 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 26 Jan 2010 15:54:09 +0000 (15:54 +0000)
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
xen/arch/x86/io_apic.c

index 031360ef67604f3c16c0c5b9a9cd2836bf0ba8a5..d99d3cee4025bcc94880e2135999b16513cf4fe5 100644 (file)
@@ -1529,7 +1529,7 @@ static void mask_and_ack_level_ioapic_irq (unsigned int irq)
        !io_apic_level_ack_pending(irq))
         move_native_irq(irq);
 
-    if (!(v & (1 << (i & 0x1f)))) {
+    if (!directed_eoi_enabled && !(v & (1 << (i & 0x1f)))) {
         atomic_inc(&irq_mis_count);
         spin_lock(&ioapic_lock);
         __edge_IO_APIC_irq(irq);